package com.atguigu.juc.homework;
@FunctionalInterface
interface Foo
{
    public int add(int x,int y);  //隐形接口

    //默认方法
    default  int sub(int x,int y){
        return x-y;
    }
    //静态方法
    static  int   dev(int x,int y) {
        return x*y;
    }
}

/**
 * 前提；函数式接口（内部只有一个方法声明---》lamda）
 *
 * 1.拷贝小括号，写死右箭头，落地大括号
 * 2.@FunctionalInterface//显示声明
 * 3.default方法实现  可以声明+是心爱一起在接口出现
 * 4.静态方法  同上
 */
public class LamdaTest {
    public static void main(String[] args) {
        Foo foo = new Foo() {
            @Override
            public int add(int x, int y) {
                System.out.println("结果是"+(x+y));
                return 0;
            }
        };
        foo.add(1,2);

        Foo foo1=(int x,int y)->{
            System.out.println("结果是"+(x+y));
            return 5;
        };
        foo1.add(1,5);

        Foo foo2=(x,y)->{
            System.out.println("结果是"+(x+y));
            return 5;
        };

        System.out.println(foo2.add(1,8));
        System.out.println("Foo.dev(5,5) = " + Foo.dev(5, 5));
        System.out.println( foo1.sub(8,8));
    }
}
